A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, the computing devices communicate data by dividing the data into small blocks called packets. Certain devices within the network, such as routers, maintain routing information that describes routes through the network. In this way, the packets may be individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Examples of computer networks include enterprise networks, branch networks, service provider networks, home networks, virtual private networks (VPN's), local area network (LAN's), virtual LANs (VLAN's) and the like. Computer networks may enable remotely located sources and receivers to share data. In some cases, the computer network may be configured to support multicast traffic, such as Internet Protocol Television (IPTV), desktop conferences, corporate broadcasts, music and video web casts, and other forms of multimedia content. As an example, a computer network may utilize Protocol Independent Multicast (PIM) as a multicast routing protocol to build distribution trees through the computer network to transport multicast traffic from sources to receivers or subscriber devices for particular multicast groups. PIM may operate in several different modes, including Dense Mode (DM), Sparse Mode (SM), Source-Specific Mode (SSM), and Bidirectional Mode (BIDIR). PIM SM may also support Any-Source Multicast (ASM) mode.